/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.dp1.pucp.Modelo.Algoritmos;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author WALTER
 */
public class LeeDatos {
    

    public static File ArchivoPedidos;
    //el archivo donde leen los pedidos, para crear como file es new File(Nombre de archivo)
    public static int NumPedido;
    //el numero del pedido que van a leer
  
    
    public ArrayList<Galleta> leeGalletasIniciales(){
        //ANtes de llamar a esta funcion llenan los estaticos
        ArrayList<Galleta> galletas = new ArrayList<Galleta>();
        
        if(ArchivoPedidos!=null){
            try {
                Scanner sc = new Scanner(ArchivoPedidos);
            
                if (NumPedido!=0){
                    
                    String linea = "";
                
                    for(int i =0; i<NumPedido; i++){
                        linea = sc.nextLine();
                    }
                    
                    String[] partes = linea.split(" ");
                    
                    Galleta galleta1 = new Galleta();
                    
                    galleta1.setIdgalleta(10);
                    
                    galleta1.setNumGalletasPedidas(Integer.valueOf(partes[0]));
                    
                    Galleta galleta2 = new Galleta();
                    galleta2.setIdgalleta(11);
                    galleta2.setNumGalletasPedidas(Integer.valueOf(partes[1]));
                    
                   Galleta galleta3 = new Galleta();
                    galleta3.setIdgalleta(12);
                    galleta3.setNumGalletasPedidas(Integer.valueOf(partes[2]));
                    
                    galletas.add(galleta1);
                    galletas.add(galleta2);
                    galletas.add(galleta3);
                
                }
            } catch (FileNotFoundException ex) {
                Logger.getLogger(LeeDatos.class.getName()).log(Level.SEVERE, null, ex);
            }
           
            
        }
        
        return galletas;
    }
    
    public ArrayList<EmpleadoAlgoritmo> leeEmpleadosPorArchivo(String nombreArchivo){
        //Como dato de entrada mandan el nombre de archivo pa leer los empleados
        
        ArrayList<EmpleadoAlgoritmo> empleados = new ArrayList<EmpleadoAlgoritmo>();
        
        File ArchivoEmpleados = new File(nombreArchivo);
        
        if(ArchivoEmpleados!=null){
            try {
                Scanner sc = new Scanner(ArchivoEmpleados);
                
                String linea = "";
                int id = 1;
                
                while (sc.hasNextLine()){
                    
                    linea = sc.nextLine();
                    String[] partes = linea.split("/");
                    String capacidad = partes[0];
                    String merma = partes[1];
                    
                    String[] capacidadxempleado = capacidad.split(" ");
                    String[] mermaxempleado = merma.split(" ");
                    
                    int[] produccion = new int[4];
                    int[] mermas = new int[4];
                    
                    for (int i = 0; i<4; i++){
                        produccion[i] = Integer.valueOf(capacidadxempleado[i]);
                        mermas[i] = Integer.valueOf(mermaxempleado[i]);
                    }
                    
                    EmpleadoAlgoritmo chullNuevo = new EmpleadoAlgoritmo(id, produccion, mermas);
                    empleados.add(chullNuevo);
                    id++;
                }
                
            } catch (FileNotFoundException ex) {
                Logger.getLogger(LeeDatos.class.getName()).log(Level.SEVERE, null, ex);
            }
           
            
        }
        
        return empleados;
    }
}
